package com.ruoyi.safe.service;

import java.util.List;

import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.common.core.domain.entity.ListType;

/**
 * 清单分类Service接口
 * 
 * @author buxi
 * @date 2023-11-04
 */
public interface IListTypeService 
{
    /**
     * 查询清单分类
     * 
     * @param id 清单分类主键
     * @return 清单分类
     */
    public ListType selectListTypeById(Long id);

    /**
     * 查询清单分类列表
     * 
     * @param listType 清单分类
     * @return 清单分类集合
     */
    public List<ListType> selectListTypeList(ListType listType);

    /**
     * 新增清单分类
     * 
     * @param listType 清单分类
     * @return 结果
     */
    public int insertListType(ListType listType);

    /**
     * 修改清单分类
     * 
     * @param listType 清单分类
     * @return 结果
     */
    public int updateListType(ListType listType);

    /**
     * 批量删除清单分类
     * 
     * @param ids 需要删除的清单分类主键集合
     * @return 结果
     */
    public int deleteListTypeByIds(Long[] ids);

    /**
     * 删除清单分类信息
     * 
     * @param id 清单分类主键
     * @return 结果
     */
    public int deleteListTypeById(Long id);

    public List<TreeSelect> buildTypeTreeSelect(List<ListType> listTypes);

    public List<ListType> buildTypeTree(List<ListType> archivesTypes);

    <T> List <T> processList(List<T> list);
}
